package cn.zane.app.config;

/**
 * @author zane
 * @date 2025/06/03
 * @Description
 */
//@Configuration
public class OpenAiConfig {

//    @Bean
//    public TokenTextSplitter tokenTextSplitter() {
//        return new TokenTextSplitter();
//
//    }
//
//    @Bean
//    public OpenAiApi openAiApi(@Value("${spring.ai.openai.base-url}") String baseUrl, @Value("${spring.ai.openai.api-key}") String apiKey) {
//        return OpenAiApi.builder()
//                .baseUrl(baseUrl)
//                .apiKey(apiKey)
//                .build();
//    }
//
//    @Bean("openAiSimpleVectorStore")
//    public SimpleVectorStore vectorStore(OpenAiApi openAiApi) {
//        OpenAiEmbeddingModel embeddingModel = new OpenAiEmbeddingModel(openAiApi);
//        return SimpleVectorStore.builder(embeddingModel).build();
//    }
//
//    /**
//     * -- 删除旧的表（如果存在）
//     * DROP TABLE IF EXISTS public.vector_store_openai;
//     * <p>
//     * -- 创建新的表，使用UUID作为主键
//     * CREATE TABLE public.vector_store_openai (
//     * id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
//     * content TEXT NOT NULL,
//     * medata JSONB,
//     * embedding VECTOR(1536)
//     * );
//     * <p>
//     * SELECT * FROM  vector_store_openai;
//     */
//    @Bean("openAiPgVectorStore")
//    public PgVectorStore pgVectorStore(JdbcTemplate jdbcTemplate, OpenAiApi openAiApi) {
//        OpenAiEmbeddingModel embeddingModel = new OpenAiEmbeddingModel(openAiApi);
//        return PgVectorStore.builder(jdbcTemplate, embeddingModel)
//                .vectorTableName("vector_store_openai")
//                .build();
//    }

//    @Bean
//    public ChatClient.Builder chatClientBuilder(OpenAiChatModel openAiChatModel) {
//        return new DefaultChatClientBuilder(openAiChatModel, ObservationRegistry.NOOP, null);
//    }
}
